package com.atguigu.edu.realtime.common.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatUtil {

    /**
     * 将时间戳转化为日期字符串
     * @param ts 时间戳
     * @return 日期字符串
     */
    public static String tsToDate(Long ts){
        Date date = new Date(ts);
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
        return sdf.format(date);
    }

    /**
     * 将时间戳转化成日期时间字符串
     * @param ts 时间戳
     * @return  时间日期字符串
     */
    public static String tsToDateTime(Long ts){
        Date date = new Date(ts);
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(date);
    }


    /**
     * 将日期转化成时间戳
     * @param date  输入的日期
     * @return 时间戳
     */
    public static Long dateToTs(String dateStr) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(dateStr);
        return date.getTime();
    }

    /**
     * 将时间日期类型转化成时间戳
     * @param dataTime
     * @return
     */
    public static Long dateTimeToTs(String dataTimeStr) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date dateTime = sdf.parse(dataTimeStr);
        return dateTime.getTime();
    }


    public static void main(String[] args) {
//        String dateTime = tsToDateTime(1720176277585L);
//        System.out.println("dateTime = " + dateTime);

        try {
            System.out.println("dateTimeToTs(\"2024-07-05 18:44:37\") = " + dateTimeToTs("2024-07-05 18:44:37"));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }
}
